package com.freesky.provider.order.util;

import com.freesky.common.dao.entity.Item;
import com.freesky.common.dao.entity.ItemCat;
import com.freesky.common.dao.entity.OrderItem;
import com.freesky.common.pojo.ZTreeNode;
import com.freesky.common.vo.CartItem;
import com.freesky.common.vo.VOItem;
import com.freesky.provider.order.vo.PortalItem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * @author Freesky
 * @date 2017/8/25
 */
public class VOUtil {

    private final static Logger logger= LoggerFactory.getLogger(VOUtil.class);


    public static Item changeVOItemToItem(VOItem voItem){

        Item item =new Item();

        item.setTitle(voItem.getTitle());
        item.setPrice(voItem.getPrice());
        item.setCid(voItem.getCid());
        item.setImage(voItem.getImage());
        item.setSellPoint(voItem.getSellPoint());
        item.setNum(voItem.getNum());
        if(voItem.getLimitNum()==null||voItem.getLimitNum()<0){
            item.setLimitNum(10);
        }else{
            item.setLimitNum(voItem.getLimitNum());
        }

        return item;
    }

    public static VOItem changeItemToVOItem(Item item){

        VOItem voItem= new VOItem();

        voItem.setTitle(item.getTitle());
        voItem.setPrice(item.getPrice());
        voItem.setCid(item.getCid());
        voItem.setImage(item.getImage());
        voItem.setSellPoint(item.getSellPoint());
        voItem.setNum(item.getNum());
        if(item.getLimitNum()==null){
            voItem.setLimitNum(item.getNum());
        }else if(item.getLimitNum()<0&&item.getNum()<0) {
            voItem.setLimitNum(10);
        }else{
            voItem.setLimitNum(item.getLimitNum());
        }

        return voItem;
    }



    public static ZTreeNode changeItemCatToZTreeNode(ItemCat itemCat){

        ZTreeNode zTreeNode =new ZTreeNode();

        zTreeNode.setId(Math.toIntExact(itemCat.getId()));
        zTreeNode.setState(itemCat.getState());
        zTreeNode.setSortOrder(itemCat.getSortOrder());
        zTreeNode.setName(itemCat.getName());
        zTreeNode.setPId(itemCat.getParentId());
        zTreeNode.setIsParent(itemCat.getParent());
        zTreeNode.setRemark(itemCat.getRemark());

        return zTreeNode;
    }

    public static PortalItem changeItemToPortalItem(Item item){
        PortalItem portalItem =new PortalItem();
        portalItem.setProductId(item.getId());
        portalItem.setProductName(item.getTitle());
        portalItem.setSalePrice(item.getPrice());
        portalItem.setSubTitle(item.getSellPoint());
        portalItem.setProductImageBig(item.getImages()[0]);
        return portalItem;
    }
    public static CartItem changeItemToCartItem(Item item){

        CartItem cartItem =new CartItem();

        cartItem.setProductId(item.getId());
        cartItem.setProductName(item.getTitle());
        cartItem.setSalePrice(item.getPrice());
        cartItem.setProductImg(item.getImages()[0]);
        if(item.getLimitNum()==null){
            cartItem.setLimitNum(Long.valueOf(item.getNum()));
        }else if(item.getLimitNum()<0&&item.getNum()<0) {
            cartItem.setLimitNum((long) 10);
        }else{
            cartItem.setLimitNum(Long.valueOf(item.getLimitNum()));
        }
        return cartItem;
    }
    public static CartItem changeOrderItemToCartItem(OrderItem orderItem){

        CartItem cartItem =new CartItem();
        cartItem.setProductId(orderItem.getItemId());
        cartItem.setProductName(orderItem.getTitle());
        cartItem.setSalePrice(orderItem.getPrice());
        cartItem.setProductNum(Long.valueOf(orderItem.getNum()));
        cartItem.setProductImg(orderItem.getPicPath());

        return cartItem;
    }
}
